﻿using System;
using System.Collections.Generic;

namespace Epam.PeopleInterfaces
{
    public interface IPeopleService
    {
        void Create(IPeopleEntity entity);

        void Update(IPeopleEntity entity);

        void Delete(Guid id);

        IPeopleEntity GetById(Guid id);

        IViewPeopleEntity GetViewEntityById(Guid id);

        ICollection<IViewPeopleEntity> GetViewEntityByPage(int currentPage, int itemPerPage);

        ICollection<IViewPeopleEntity> GetAllViewEntity();

        ICollection<IPeopleEntity> GetAll();

        ICollection<IPeopleEntity> GetByPage(int currentPage, int itemPerPage);

        ICollection<IViewPeopleEntity> Filter(double lowfactor,double highfactor,IFilterAlgoritm filterAlgoritm);

        IPeopleEntity NewEntity(string name,DateTime birthdate,double weight,double height);

    }
}
